
# Pacotes padrao
import pandas as pd
import numpy as np
import pandas_profiling as pp
import seaborn as sns
import matplotlib.pylab as plt
%matplotlib inline
# Pacote do sklearn
from xgboost import XGBClassifier
import xgboost as xgb
#import lightgbm as lgbm
#import optuna.integration.lightgbm as lgb2
from sklearn.model_selection import train_test_split, KFold
from sklearn.metrics import accuracy_score, confusion_matrix, classification_report, precision_score
from sklearn.preprocessing import LabelEncoder
from sklearn.preprocessing import StandardScaler, MinMaxScaler
# Pacote imblearn
import imblearn
from imblearn.over_sampling import SMOTE
# Pacote LOFO para Feature Importance
from lofo import LOFOImportance, Dataset, plot_importance
# Pacote para hyperparametros
import optuna
import functools
# Desativando warnings no jupyter
import warnings
warnings.filterwarnings('ignore')
# Configurando o output no Jupyter
pd.options.display.max_seq_items = 8000
pd.options.display.max_columns = 1000
pd.options.display.max_rows = 1000
pd.set_option('display.max_columns', None)
# Versões dos pacotes usados neste jupyter notebook
%reload_ext watermark
%watermark -a "IBM Desafio 4 - Algar" --iversions
# Carregando o dataset da competição
dados = pd.read_csv('../data/algar-dataset-treino.csv')
# Visualizando os primeiros registros
dados.head()
Nesta fase estou usando a biblioteca Pandas Profile pois automatiza o processo e nos traz uma visão geral do dataset Para mais detalhes, segue link da documentação: https://pandas-profiling.github.io/pandas-profiling/docs/master/index.html
A variável-alvo é:
# Cria o objeto profile
profile = pp.ProfileReport(dados, title="Maratona IBM - Desafio 04", explorative=True)
profile.to_file("Desafio-4-Report.html")
# Executa o relatório e mostra no Jupyter
profile